package com.project.mapper;

import com.github.pagehelper.PageInfo;
import com.project.bean.MailBean;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;

@Mapper
public interface IMailMapper {
    /**
     * 添加邮件
     * 1、将收件人姓名集合拼接成字符串封装到邮件对象
     * 2、添加邮件记录（）
     * @param mailBean
     * @param userNameArray
     */

    void addEmail(@Param("mailBean") MailBean mailBean,@Param("userNameArray") String userNameArray);

    void addBox(@Param("userIDArray") Integer[] userIDArray,
                @Param("mailId") Integer mailIdArray);

    /**
     * 动态分页查询(有效)邮件记录，登录员工id为固定条件
     * @param userId 登录员工id(固定)
     * @param title 主题
     * @param startDate 起始时间
     * @param endDate  结束时间
     * @return 邮件分页对象
     */
    List<MailBean> findByItem(@Param("userId") Integer userId,
                              @Param("title") String title,
                              @Param("startDate") LocalDate startDate,
                              @Param("endDate") LocalDate endDate);

    /**
     * 根据邮件id邮件信息
     * @param id 邮件id
     * @return 邮件对象
     */
    MailBean findById(Integer id);


    /**
     * 发件箱删除邮件
     * 根据邮件id修改发件箱改变邮件状态为无效
     * @param id 邮件id
     */
    void delMail(Integer id);
}
